<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <script type="text/javascript" src="../js/vue.js"></script>
</head>

<body>

    <div id="root">
        <button @click="test1">1、方法名不加括号，有效</button>
        <button @click="test2()">2、方法名加括号，有效</button>
        <button @click="test3">3、有一个默认参数，即点击事件</button>
        <button @click="test4(111)">4、只传入一个参数，没有点击事件</button>
        <button @click="test5(111, $event)">5、传入一个参数，而且有点击事件</button>
        <button @click="test6">6、箭头函数的写法，this的指向会有问题</button>



    </div>

</body>

<script type="text/javascript">
    const vm = new Vue({
        el: '#root',
        data: {
        },
        methods: {
            test1(){
                console.log("点击了1#")
            },
            test2(){
                console.log("点击了2#")
            },
            test3(a,b,c){
                console.log("点击了3#",a,b,c) //第一个参数是点击事件，后面的参数都是undefined
                console.log("this:", this)  //拿到的this是Vue实例对象，即vm
                console.log("是否相等：", this === vm)  //返回true
            },
            test4(a,b,c){
                console.log("点击了4#", a,b,c) //第一个参数是传入的111，后面的参数都是undefined，点击事件没了！
            },
            test5(a,b,c){
                console.log("点击了5#", a,b,c) //第一个参数是传入的111，第二个参数是点击事件，第3个参数是undefined
            },
            test6:()=>{
                console.log("点击了6#", this) //拿到的this变成了window对象
            }
        }
    });

    Vue.config.productionTip = false  //阻止 vue 在启动时生成生产提示。
</script>

</html>